Participation

Duisburg was one of the counties with the lowest participation (54 %). Only Gelsenkirchen was worse (52 %). Participation was higher in Cologne, with 66 %.

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   52.29   60.68   63.36   62.86   65.37   74.34

Percent SPD

The whole Ruhr area was the “heart chamber” of SPD support in NRW. With 22 %, support was among the highest in Duisburg.

In Cologne, only 15 % voted SPD.

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.37   15.07   16.66   17.44   20.66   23.92

Percent AfD

The vote share for the AfD was 17 % in Duisburg, higher than in most other counties and the state average.

In Cologne, only 7 % voted AfD.

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   4.798  11.450  13.342  13.326  15.576  21.663

Percent von der Leyen supporting parties

After the European Election 2019, the EPP, the S&D and the Renew faction supported von der Leyen as Head of the EU Commission.

Vote shares for parties belonging to factions that supported vdL were lower in larger cities, mainly driven by the weakness of the CDU in cities.

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   43.55   53.60   57.23   56.88   59.51   69.55

Is support for the AfD higher in the Ruhr area and lower in border areas?

Regression Diagnostics / Deviant Cases

In Oberhausen, the residual is largest, indicating more AfD support than expected by the structural data.

In Münster, the residual is smalles, indicating less AfD support than expected by the structural data.

stargazer(afdmr1, afdmr2, afdmr3, afdmr4, afdmr5, afdmr6, type = "html", title = "Regression Results")
Regression Results
Dependent variable:
prozent_AfD
(1) (2) (3) (4) (5) (6)
ruhrgebiet 3.109*** 3.049*** 3.798*** 1.283 1.315 1.183
(0.853) (0.883) (0.940) (0.894) (0.887) (1.006)
grenzgebiet -0.379 -0.856 -0.557 -0.835 -0.758
(1.256) (1.245) (1.003) (1.016) (1.060)
bvdichte -0.001* -0.003*** -0.003*** -0.003***
(0.0005) (0.001) (0.001) (0.001)
sgbq 0.090*** 0.074*** 0.079***
(0.017) (0.021) (0.028)
ohnehauptq 0.325 0.307
(0.242) (0.252)
auslanderq -0.047
(0.164)
Constant 12.446*** 12.506*** 13.363*** 8.509*** 7.637*** 7.965***
(0.454) (0.499) (0.652) (1.060) (1.236) (1.690)
Observations 53 53 53 53 53 53
R2 0.207 0.208 0.266 0.535 0.552 0.553
Adjusted R2 0.191 0.176 0.221 0.496 0.505 0.495
Residual Std. Error 2.797 (df = 51) 2.823 (df = 50) 2.745 (df = 49) 2.207 (df = 48) 2.189 (df = 47) 2.211 (df = 46)
F Statistic 13.283*** (df = 1; 51) 6.569*** (df = 2; 50) 5.918*** (df = 3; 49) 13.811*** (df = 4; 48) 11.591*** (df = 5; 47) 9.485*** (df = 6; 46)
Note: p<0.1; p<0.05; p<0.01
max(resid(afdmr6))

[1] 3.91558

outlier <- dat2[which.max(resid(afdmr6)), ]
outlier$name

[1] “Oberhausen, Stadt”

min(resid(afdmr6))

[1] -6.392713

outlier <- dat2[which.min(resid(afdmr6)), ]
outlier$name

[1] “Münster, Stadt”

plot(afdmr6)